package com.gwnet.user.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * <p>
 * 用户表
 * </p>
 *
 * @author WangLiang
 * @since 2024-07-20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("cus_user")
public class CusUser extends Model<CusUser> {

    private static final long serialVersionUID = 1L;

    /** ID */
    @TableId(type = IdType.ASSIGN_ID, value = "user_id")
    private Long userId;


    /** 用户昵称 */
    private String nickName;

    /** 真实姓名 */
    private String realName;

    /** 第三方系统头像 */
    private String imageUrl;

    /** 用户邮箱 */
    private String userMail;

    /** 登录密码 */
    private String loginPassword;

    /** 手机号码 */
    private String userPhone;

    /** 修改时间 */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;

    /** 注册时间 */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date userRegtime;

    /** 注册IP */
    private String userRegip;

    /** 禁用备注 */
    private String disableRemark;

    /** M(男) or F(女) */
    private String sex;

    /** 例如：2009-11-27 */
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private String birthDate;

    /** 头像图片路径 */
    private String pic;

    /** 第三方系统userid */
    private String bizUserId;

    /** 第三方系统unionid */
    private String bizUnionid;

    /** 有些时候第三方系统授权之后，会有个临时的key，比如小程序的session_key */
    private String bizTempSession;

    /** 状态 1 正常 0 无效 */
    private Integer status;

    /**
     * 创建者
     */
    private Long createBy;

    /**
     * 创建者姓名
     */
    private String createName;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新者
     */
    private Long updateBy;

    /**
     * 更新者姓名
     */
    private String updateName;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 备注
     */
    private String remark;


}
